Groovy তে collections (যেমন: List, Map, Set) এর উপর iteration করার জন্য each
এবং collect
খুবই জনপ্রিয় এবং শক্তিশালী মেথড। এই দুটি মেথড ব্যবহার করে আপনি সহজেই একটি collection এর প্রতিটি উপাদান পেতে পারেন এবং সেই উপাদানগুলির উপর বিভিন্ন ধরনের অপারেশন করতে পারেন।
each
মেথডGroovy তে each
একটি গুরুত্বপূর্ণ মেথড যা একটি collection এর প্রতিটি উপাদান নিয়ে কাজ করে। এটি একটি closure গ্রহণ করে এবং প্রতিটি উপাদানের উপর সেই closure প্রয়োগ করে।
each
মেথডের ব্যবহার:each
মেথড সাধারণত একটি List, Set বা Map এর উপর iteration করতে ব্যবহৃত হয়।
each
মেথড প্রতিটি উপাদান নিয়ে closure কল করবে।each
):def numbers = [1, 2, 3, 4, 5]
numbers.each { number ->
println "Number: $number"
}
আউটপুট:
Number: 1
Number: 2
Number: 3
Number: 4
Number: 5
এখানে, each
মেথড numbers
List এর প্রতিটি উপাদান নিয়ে closure কল করেছে এবং প্রতিটি উপাদান number
ভেরিয়েবলের মধ্যে এসেছে এবং আউটপুট দেখানো হয়েছে।
each
):def person = [name: "John", age: 30, city: "New York"]
person.each { key, value ->
println "$key: $value"
}
আউটপুট:
name: John
age: 30
city: New York
এখানে, each
মেথড key-value পেয়ার নিয়ে closure কল করছে, এবং প্রতি key-value পেয়ারকে আউটপুটে দেখানো হয়েছে।
collect
মেথডGroovy তে collect
মেথড একটি List বা Set এর উপর iteration করতে ব্যবহৃত হয় এবং এটি একটি নতুন collection তৈরি করে। collect
মেথডের মাধ্যমে আপনি collection এর উপাদানগুলির উপর কোনো অপারেশন প্রয়োগ করে একটি নতুন collection তৈরি করতে পারেন। এটি সাধারণত transforming বা mapping অপারেশনের জন্য ব্যবহৃত হয়।
collect
মেথডের ব্যবহার:collect
মেথড একটি নতুন collection ফেরত দেয়, যেখানে প্রতিটি উপাদান নতুন মানের ভিত্তিতে তৈরি হয়।
collect
):def numbers = [1, 2, 3, 4, 5]
def squares = numbers.collect { it * it }
println squares
আউটপুট:
[1, 4, 9, 16, 25]
এখানে, collect
মেথড প্রতিটি উপাদানকে স্কয়ারে রূপান্তর করেছে এবং নতুন একটি List squares
তৈরি করেছে।
collect
):def person = [name: "John", age: 30, city: "New York"]
def uppercaseKeys = person.collect { key, value -> key.toUpperCase() }
println uppercaseKeys
আউটপুট:
[NAME, AGE, CITY]
এখানে, collect
মেথড key গুলিকে uppercase তে রূপান্তর করেছে এবং একটি নতুন List তৈরি করেছে, যাতে শুধু uppercase keys রয়েছে।
collect
ব্যবহার করে Map তৈরি করা:collect
ব্যবহার করে আপনি নতুন Map তৈরি করতে পারেন, যেখানে নতুন key-value পেয়ার তৈরি হয়।
def numbers = [1, 2, 3, 4, 5]
def squaredMap = numbers.collectEntries { number ->
[(number): number * number]
}
println squaredMap
আউটপুট:
[1:1, 2:4, 3:9, 4:16, 5:25]
এখানে, collectEntries
মেথড ব্যবহার করে number এর উপর কাজ করে নতুন একটি Map তৈরি করা হয়েছে, যেখানে প্রতিটি number এর স্কয়ারকে value হিসেবে দেয়া হয়েছে।
each
এবং collect
এর মধ্যে পার্থক্যফিচার | each | collect |
---|---|---|
ফাংশন | উপাদানগুলির উপর কাজ করার জন্য ব্যবহার হয়। | নতুন collection তৈরি করতে ব্যবহার হয়। |
রিটার্ন ভ্যালু | কোনো রিটার্ন ভ্যালু দেয় না, শুধুমাত্র iteration করে। | নতুন collection (List বা Set) ফেরত দেয়। |
ব্যবহার | সাধারণত side-effects তৈরি করার জন্য, যেমন প্রিন্টিং বা মান পরিবর্তন। | collection এর উপাদানগুলির transformation বা mapping করতে। |
each
মেথড একটি collection এর প্রতিটি উপাদান নিয়ে কাজ করে এবং সাধারণত কোনো side effect তৈরি করে (যেমন প্রিন্টিং, বা কিছু পরিবর্তন)। এটি কোনও নতুন collection তৈরি করে না।collect
মেথড একটি নতুন collection তৈরি করে, যেখানে মূল collection এর উপাদানগুলির উপর কোনো transformation বা mapping করা হয়।collect
মেথড একটি নতুন collection ফেরত দেয়, যেটি original collection এর উপাদানগুলির ভিত্তিতে তৈরি হয়।এই দুটি মেথড Groovy তে collection এর উপর iteration এবং transformation করার জন্য খুবই কার্যকরী এবং সহজ।
common.read_more